From 4846f48817394cee8bf2b1d2dbfca5460dfd175c Mon Sep 17 00:00:00 2001 From: Jeroen van der Heijden Date: Wed, 16 May 2018 14:05:59 +0200 Subject: [PATCH] Prevent points cache when other than select query is used --- ChangeLog-2.0.27 | 2 ++ src/siri/parser/listener.c | 25 +++++++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/ChangeLog-2.0.27 b/ChangeLog-2.0.27 index 7b3b9198..ba7d8dfb 100644 --- a/ChangeLog-2.0.27 +++ b/ChangeLog-2.0.27 @@ -18,3 +18,5 @@ * Allow all (*) for selecting series. Keyword 'all' replaces 'points' which is now a deprecated keyword. + + * Solved compiler warnings. (issue #96) \ No newline at end of file diff --git a/src/siri/parser/listener.c b/src/siri/parser/listener.c index 7a64bc02..0c2d051a 100644 --- a/src/siri/parser/listener.c +++ b/src/siri/parser/listener.c @@ -3272,19 +3272,24 @@ static void exit_revoke_user(uv_async_t * handle) static void exit_series_match(uv_async_t * handle) { siridb_query_t * query = (siridb_query_t *) handle->data; - query_select_t * q_select = (query_select_t *) query->data; + query_wrapper_t * q_wrapper = (query_wrapper_t *) query->data; - if ((q_select->flags & QUERIES_SKIP_GET_POINTS) && - (q_select->start_ts != NULL || q_select->end_ts != NULL)) + if (q_wrapper->tp == QUERIES_SELECT) { - q_select->flags &= ~QUERIES_SKIP_GET_POINTS; - } + query_select_t * q_select = (query_select_t *) q_wrapper; + if ((q_select->flags & QUERIES_SKIP_GET_POINTS) && + (q_select->start_ts != NULL || q_select->end_ts != NULL)) + { + q_select->flags &= ~QUERIES_SKIP_GET_POINTS; + } - if ((~q_select->flags & QUERIES_SKIP_GET_POINTS) && q_select->nselects > 1) - { - /* We have more than one select request, let's use points caching. - * (Not critical, everything works if points_map is NULL) */ - q_select->points_map = imap_new(); + if ((~q_select->flags & QUERIES_SKIP_GET_POINTS) && + q_select->nselects > 1) + { + /* We have more than one select request, let's use points caching. + * (Not critical, everything works if points_map is NULL) */ + q_select->points_map = imap_new(); + } } SIRIPARSER_ASYNC_NEXT_NODE -- 2.30.2